package cn.trs.common.enums;

import cn.trs.common.annotation.EnumName;
import com.baomidou.mybatisplus.annotation.EnumValue;

/**
 * 消息状态枚举
 *
 * @author 王元晨
 */
public enum MsgStatusEnum {

    // 正常
    Normal(0, "正常"),
    // 已删除
    Del(1, "已删除"),
    // 服务器繁忙
    Busy(2, "服务器繁忙"),
    // 编辑
    Edit(3, "编辑"),
    // 重新生成
    Retry(4, "重新生成"),
    // 命中敏感词
    Sensitive(5, "命中敏感词"),
    // 算法服务器自定义异常
    AlgorithmError(6, "算法服务器自定义异常"),
    // 停止生成状态
    Stop(7, "停止生成"),
    ;

    @EnumValue
    private final Integer status;
    @EnumName
    private final String desc;

    public Integer getStatus() {
        return status;
    }

    public String getDesc() {
        return desc;
    }

    MsgStatusEnum(Integer status, String desc) {
        this.status = status;
        this.desc = desc;
    }

    public static MsgStatusEnum getByStatus(Integer status) {
        MsgStatusEnum[] values = MsgStatusEnum.values();
        for (MsgStatusEnum value : values) {
            if (value.getStatus().equals(status)) {
                return value;
            }
        }
        return null;
    }
}
